home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / TTY.ARJ / TTYIO.INC < prev   
Text File  |  1992-03-11  |  3KB  |  171 lines

  1. ;    Written by Chris Sokol
  2.  
  3. DEBUG        EQU    1
  4.  
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Constant equates ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6.  
  7. BA300        EQU    000h
  8. BA1200    EQU    001h
  9. BA2400    EQU    002h
  10. BA4800    EQU    003h
  11. BA9600    EQU    004h
  12. BA19200    EQU    005h
  13. BA38400    EQU    006h
  14. BA57600    EQU    007h
  15. BA115200    EQU    008h
  16.  
  17. EOI        EQU    20h
  18.  
  19. ERRbhand    EQU    0ffffh
  20. ERRbio    EQU    0fffeh
  21. ERRbirq    EQU    0fffdh
  22. ERRbtype    EQU    0fffch
  23. ERRnbuff    EQU    0fffbh
  24. ERRqfull    EQU    0fffah
  25.  
  26. IDPend    EQU    001h
  27. IDMask    EQU    006h
  28. IDMSR        EQU    000h
  29. IDTX        EQU    002h
  30. IDRX        EQU    004h
  31. IDLSR        EQU    006h
  32.  
  33. IEDATA    EQU    001h
  34. IETHRE    EQU    002h
  35. IELSR        EQU    004h
  36. IEMSR        EQU    008h
  37.  
  38. LCWLen0    EQU    001h
  39. LCWLen1    EQU    002h
  40. LCStop    EQU    004h
  41. LCParEn    EQU    008h
  42. LCParEv    EQU    010h
  43. LCParSt    EQU    020h
  44. LCSBrk    EQU    040h
  45. LCDLAB    EQU    080h
  46.  
  47. LSData    EQU    001h
  48. LSOver    EQU    002h
  49. LSPari    EQU    004h
  50. LSFram    EQU    008h
  51. LSBreak    EQU    010h
  52. LSHREmp    EQU    020h
  53. LSSREmp    EQU    040h
  54.  
  55. MAX_TTYS    EQU    8
  56.  
  57. MCDTR        EQU    001h
  58. MCRTS        EQU    002h
  59. MCOUT1    EQU    004h
  60. MCOUT2    EQU    008h
  61. MCLOOP    EQU    010h
  62.  
  63. MOCW1        EQU    021h
  64. MOCW2        EQU    020h
  65.  
  66. MSDCTS    EQU    001h
  67. MSDDSR    EQU    002h
  68. MSTERI    EQU    004h
  69. MSDRLSD    EQU    008h
  70. MSCTS        EQU    010h
  71. MSDSR        EQU    020h
  72. MSRI        EQU    040h
  73. MSRLSD    EQU    080h
  74.  
  75. RXchar    EQU    000h
  76. RXlins    EQU    001h
  77. RXmdms    EQU    002h
  78. RXhinv    EQU    0feh
  79. RXndat    EQU    0ffh
  80.  
  81. SOCW1        EQU    0a1h
  82. SOCW2        EQU    0a0h
  83.  
  84. THFhfctl    EQU    00001h
  85. THFhwait    EQU    00002h
  86. THFopen    EQU    00004h
  87. THFxfctl    EQU    00008h
  88. THFxmit    EQU    00010h
  89. THFxwait    EQU    00020h
  90.  
  91. TXchar    EQU    000h
  92. TXbaud    EQU    001h
  93. TXhwfc    EQU    002h
  94. TXlinc    EQU    003h
  95. TXmdmc    EQU    004h
  96. TXxofc    EQU    005h
  97.  
  98. UATxBuf    EQU    00000h
  99. UARxBuf    EQU    00000h
  100. UADvLsb    EQU    00000h
  101. UADvMsb    EQU    00001h
  102. UAIntEn    EQU    00001h
  103. UAIntId    EQU    00002h
  104. UALiCtl    EQU    00003h
  105. UAMdCtl    EQU    00004h
  106. UALiSta    EQU    00005h
  107. UAMdSta    EQU    00006h
  108. UAHCR        EQU    00007h
  109.  
  110. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Structures ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  111.  
  112. TTYBuf    STRUC
  113.     TBbuff    DD    ?
  114.     TBin        DW    ?
  115.     TBout        DW    ?
  116.     TBsize    DW    ?
  117. TTYBuf    ENDS
  118.  
  119. TTYHand    STRUC
  120.     THflags    DW    ?
  121.     THhand    DW    ?
  122.     THioaddr    DW    ?
  123.     THirqno    DW    ?
  124.     THlinc    DB    ?
  125.     THlins    DB    ?
  126.     THmdmc    DB    ?
  127.     THmdms    DB    ?
  128.     THnxtirq    DW    ?
  129.     THprvirq    DW    ?
  130.     THrxbuf    TTYBuf <>
  131.     THselect    DW    ?
  132.     THtxbuf    TTYBuf <>
  133. TTYHand    ENDS
  134.  
  135. TTYIrq    STRUC
  136.     TIhead    DW    ?
  137.     TIoldvec    DD    ?
  138.     TItail    DW    ?
  139. TTYIrq    ENDS
  140.  
  141. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Macros ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  142.  
  143. IVEC_NO    = 0
  144.  
  145. jmps        MACRO    where
  146.     jmp short    where
  147.             ENDM
  148.  
  149. GenIVec    MACRO    ivnum
  150. IVec&ivnum:
  151.     push    si
  152.  
  153.     lea    si, IrqPtrs + (ivnum * SIZE TTYIrq)
  154.     jmp    IntHand
  155.             ENDM
  156.  
  157. GenIVIdx    MACRO    ivnum
  158.     DW        IVec&ivnum
  159.             ENDM
  160.  
  161. UAddr        MACRO    off
  162.     mov    dx, ds:[si].THioaddr
  163.  
  164.     IF        off
  165.         add    dx, off
  166.     ENDIF
  167.             ENDM
  168.  
  169. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  170.  
  171.